As more and more multi-tier services are developed from commercial componentsor heterogeneous middleware without the source code available, both developersand administrators need a precise request tracing tool to help understand anddebug performance problems of large concurrent services of black boxes.Previous work fails to resolve this issue in several ways: they either acceptthe imprecision of probabilistic correlation methods, or rely on knowledge ofprotocols to isolate requests in pursuit of tracing accuracy. This paperintroduces a tool named PreciseTracer to help debug performance problems ofmulti-tier services of black boxes. Our contributions are two-fold: first, wepropose a precise request tracing algorithm for multi-tier services of blackboxes, which only uses application-independent knowledge; secondly, we presenta component activity graph abstraction to represent causal paths of requestsand facilitate end-to-end performance debugging. The low overhead and toleranceof noise make PreciseTracer a promising tracing tool for using on productionsystems.
展开▼